﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using ServicioSocial.Clases;

namespace ServicioSocial
{
    public partial class VentanaNuevoProfesor : Form
    {
        public VentanaNuevoProfesor()
        {
            InitializeComponent();
        }

        private void controlAsteriscosNombre()
        {
            if (txtNombre.Text != string.Empty)
                lblAsteNom.Visible = false;
            else if (txtNombre.Text == string.Empty)
                lblAsteNom.Visible = true;
        }

        private void controlAsteriscosUsuario()
        {
            if (txtUsuario.Text != string.Empty)
                lblAsteUsuario.Visible = false;
            else if (txtUsuario.Text == string.Empty)
                lblAsteUsuario.Visible = true;
        }

        private void controlAsteriscosContra1()
        {
            if (txtContrasena.Text != string.Empty)
                lblAsteContrasena1.Visible = false;
            else if (txtContrasena.Text == string.Empty)
                lblAsteContrasena1.Visible = true;
        }

        private void controlAsteriscosContra2()
        {
            if (txtContrasena2.Text != string.Empty)
                lblAsteContrasena2.Visible = false;
            else if (txtContrasena2.Text == string.Empty)
                lblAsteContrasena2.Visible = true;
        }


        private void txtNombre_TextChanged(object sender, EventArgs e)
        {
            controlAsteriscosNombre();
        }

        private void txtUsuario_TextChanged(object sender, EventArgs e)
        {
            controlAsteriscosUsuario();
        }

        private void txtContrasena_TextChanged(object sender, EventArgs e)
        {
            controlAsteriscosContra1();
        }

        private void txtContrasena2_TextChanged(object sender, EventArgs e)
        {
            controlAsteriscosContra2();
        }

        private void btnAceptar_Click(object sender, EventArgs e)
        {
            if (ValidaCamposRequeridos() == true)
            {
                if (validaMismaContrasena() == true)
                {
                    if ((Usuario.verificaExisteMismoNombreUsuarioProfesor(txtUsuario.Text) != true))
                    {
                        Usuario miUsuario = new Usuario();
                        miUsuario.Nombre = txtNombre.Text;
                        miUsuario.ApellidoPaterno = txtApPaterno.Text;
                        miUsuario.ApellidoMaterno = txtApMaterno.Text;
                        miUsuario.UsuarioLogearte = txtUsuario.Text;
                        miUsuario.Contrasena = txtContrasena.Text;
                        miUsuario.Direccion = txtDireccion.Text;
                        miUsuario.Telefono = txtTelefono.Text;
                        miUsuario.Correo = txtCorreo.Text;
                        if (Usuario.insertaNuevoProfesor(miUsuario) == true)
                        {
                            MessageBox.Show("Los datos se registraron correctamente");
                            LimpiaCampos();
                        }
                        else
                            MessageBox.Show("Error, no se lograron registrar los datos, intente denuevo");
                    }
                    else
                        MessageBox.Show("El nombre de usuario ya existe, favor de cambiarlo");
                }
                else
                    MessageBox.Show("La contraseña no coincide, favor de verificar");
            }
            else
            {
                MessageBox.Show("Error, Debe llenar todos los campos requeridos");
            }
        }

        private void LimpiaCampos()
        {
            txtNombre.Text = string.Empty;
            txtApPaterno.Text = string.Empty;
            txtContrasena.Text = string.Empty;
            txtUsuario.Text = string.Empty;
            txtApMaterno.Text = string.Empty;
            txtContrasena2.Text = string.Empty;
            txtCorreo.Text = string.Empty;
            txtDireccion.Text = string.Empty;
            txtTelefono.Text = string.Empty;
        }

        private void btnCancelar_Click(object sender, EventArgs e)
        {
            LimpiaCampos();
        }

        private bool ValidaCamposRequeridos()
        {
            bool validados = false;
            if ((txtNombre.Text != string.Empty) && (txtUsuario.Text != string.Empty) && (txtContrasena.Text != string.Empty) && (txtContrasena2.Text != string.Empty))
            {
                validados = true;
            }
            return validados; 
        }

        private bool validaMismaContrasena()
        {
            bool valida = false;
            if (txtContrasena.Text == txtContrasena2.Text)
            {
                valida = true;
            }
            return valida;
        }
    }
}
